package flst.ipiweb.struts.action.accueil;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import flst.ipiweb.common.User;
import flst.ipiweb.exceptions.IPIWebException;
import flst.ipiweb.service.ServiceAdmin;
import flst.ipiweb.service.ServiceCrypto;

public class LoginPostAction extends Action {

	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

		HttpSession session = request.getSession();
		if (session.getAttribute("login") != null) {
			request.setAttribute("pageTitle", "login.title");
			System.out.println("DADA");
			return mapping.findForward("login_ok");

		}

		LoginForm vLoginForm = (LoginForm) form;
		User admin = new User();
		admin.setLogin(vLoginForm.getUsername());
		admin.setPassword(new ServiceCrypto().encrypt(vLoginForm.getPassword()));

		ServiceAdmin sAdmin = new ServiceAdmin();
		admin = sAdmin.getAdminByLogin(vLoginForm.getUsername());

		if (admin != null) {
			session.setAttribute("login", admin.getLogin());
			session.setAttribute("isSuper", admin.getIsSuperAdmin());
			request.setAttribute("loginForm", vLoginForm);
			request.setAttribute("isSuper", session.getAttribute("isSuper"));
			session.setAttribute("error", null);
			System.out.println("DODO");
			return mapping.findForward("login_ok");

		} else {
			session.setAttribute("error", "Login.isNotExist");
		}
		System.out.println("DIDI");
		request.setAttribute("error", session.getAttribute("error"));
		return mapping.findForward("login");

	}

}